

#ifndef COOPERATORAO_STRUCT_H
#define COOPERATORAO_STRUCT_H

#include <stdint.h>
#include <string>
#include <iostream>
#include "libc2c/byte_stream.h"
#include "app_platform/intf_service_object.h"
#include "b2b2c/cooperator/po/cooperatormonitormodelpo_cooperator.h"	
#include "b2b2c/cooperator/po/cooperatorsubaccountpo_cooperator.h"	
#include <set>	
#include "b2b2c/cooperator/po/cooperatorpropo_cooperator.h"	
#include <vector>	
#include "b2b2c/cooperator/po/cooperatorbaseinfopo_cooperator.h"	
#include "b2b2c/cooperator/po/cooperatormonitormodelrulepo_cooperator.h"	
#include "b2b2c/cooperator/po/cooperatorlicensepo_cooperator.h"	
#include "b2b2c/cooperator/po/cooperatorsubpropo_cooperator.h"	
#include "b2b2c/cooperator/po/cooperatorsetpo_cooperator.h"	

namespace b2b2c
{
namespace cooperator
{
namespace ao
{

	const uint32_t COOPERATORAO_CHECKCOOPERATORPASSWD_REQ_CMD_ID = 0xA0121803; ///检查合作伙伴密码信息请求类 请求命令号
	const uint32_t COOPERATORAO_CHECKCOOPERATORPASSWD_RESP_CMD_ID = 0xA0128803; ///检查合作伙伴密码信息返回类 回应命令号
	

	const uint32_t COOPERATORAO_DELETECOOPERATORMONITORMODEL_REQ_CMD_ID = 0xA012180E; /// 请求命令号
	const uint32_t COOPERATORAO_DELETECOOPERATORMONITORMODEL_RESP_CMD_ID = 0xA012880E; /// 回应命令号
	

	const uint32_t COOPERATORAO_GETCOOPERATORBASEINFO_REQ_CMD_ID = 0xA0121801; ///获取合作伙伴基本信息请求类 请求命令号
	const uint32_t COOPERATORAO_GETCOOPERATORBASEINFO_RESP_CMD_ID = 0xA0128801; ///获取合作伙伴基本信息返回类 回应命令号
	

	const uint32_t COOPERATORAO_GETCOOPERATORBASEINFOLIST_REQ_CMD_ID = 0xA0121807; ///批量获取合作伙伴基本信息请求类 请求命令号
	const uint32_t COOPERATORAO_GETCOOPERATORBASEINFOLIST_RESP_CMD_ID = 0xA0128807; ///批量获取合作伙伴基本信息返回类 回应命令号
	

	const uint32_t COOPERATORAO_GETCOOPERATORIDBYICSONID_REQ_CMD_ID = 0xA012180F; ///根据ERP商户id查询合作伙伴ID请求类 请求命令号
	const uint32_t COOPERATORAO_GETCOOPERATORIDBYICSONID_RESP_CMD_ID = 0xA012880F; ///根据ERP商户id查询合作伙伴ID返回类 回应命令号
	

	const uint32_t COOPERATORAO_GETCOOPERATORKEY_REQ_CMD_ID = 0xA0121808; ///获取合作伙伴数据加密Key请求类 请求命令号
	const uint32_t COOPERATORAO_GETCOOPERATORKEY_RESP_CMD_ID = 0xA0128808; ///获取合作伙伴数据加密Key返回类 回应命令号
	

	const uint32_t COOPERATORAO_GETCOOPERATORLICENSE_REQ_CMD_ID = 0xA0121802; ///获取合作伙伴许可证信息请求类 请求命令号
	const uint32_t COOPERATORAO_GETCOOPERATORLICENSE_RESP_CMD_ID = 0xA0128802; ///获取合作伙伴许可证信息返回类 回应命令号
	

	const uint32_t COOPERATORAO_GETCOOPERATORMONITORMODEL_REQ_CMD_ID = 0xA012180C; /// 请求命令号
	const uint32_t COOPERATORAO_GETCOOPERATORMONITORMODEL_RESP_CMD_ID = 0xA012880C; /// 回应命令号
	

	const uint32_t COOPERATORAO_GETCOOPERATORMONITORMODELLIST_REQ_CMD_ID = 0xA012180B; /// 请求命令号
	const uint32_t COOPERATORAO_GETCOOPERATORMONITORMODELLIST_RESP_CMD_ID = 0xA012880B; /// 回应命令号
	

	const uint32_t COOPERATORAO_LOGISTICSSETCOOPERATORPRO_REQ_CMD_ID = 0xA0121809; ///支付物流系统设置卖家的次日达，货到付款等属性位请求类 请求命令号
	const uint32_t COOPERATORAO_LOGISTICSSETCOOPERATORPRO_RESP_CMD_ID = 0xA0128809; ///支付物流系统设置卖家的次日达，货到付款等属性位返回类 回应命令号
	

	const uint32_t COOPERATORAO_SETCOOPERATORINFO_REQ_CMD_ID = 0xA012180A; ///从管理后台等其他业务同步过来的设置合作伙伴属性位等信息请求类 请求命令号
	const uint32_t COOPERATORAO_SETCOOPERATORINFO_RESP_CMD_ID = 0xA012880A; ///从管理后台等其他业务同步过来的设置合作伙伴属性位等信息返回类 回应命令号
	

	const uint32_t COOPERATORAO_SETCOOPERATORPASSWD_REQ_CMD_ID = 0xA0121805; ///设置合作伙伴密码信息请求类 请求命令号
	const uint32_t COOPERATORAO_SETCOOPERATORPASSWD_RESP_CMD_ID = 0xA0128805; ///设置合作伙伴密码信息返回类 回应命令号
	

	const uint32_t COOPERATORAO_UPDATECOOPERATORBASEINFO_REQ_CMD_ID = 0xA0121804; ///更新【新增和修改】合作伙伴基本信息请求类 请求命令号
	const uint32_t COOPERATORAO_UPDATECOOPERATORBASEINFO_RESP_CMD_ID = 0xA0128804; ///更新【新增和修改】合作伙伴基本信息返回类 回应命令号
	

	const uint32_t COOPERATORAO_UPDATECOOPERATORLICENSE_REQ_CMD_ID = 0xA0121806; ///更新【新增和修改】合作伙伴许可证信息请求类 请求命令号
	const uint32_t COOPERATORAO_UPDATECOOPERATORLICENSE_RESP_CMD_ID = 0xA0128806; ///更新【新增和修改】合作伙伴许可证信息返回类 回应命令号
	

	const uint32_t COOPERATORAO_UPDATECOOPERATORMONITORMODEL_REQ_CMD_ID = 0xA012180D; /// 请求命令号
	const uint32_t COOPERATORAO_UPDATECOOPERATORMONITORMODEL_RESP_CMD_ID = 0xA012880D; /// 回应命令号
	


const uint16_t COOPERATORAO_MAX_PROTOCAL_VERSION = 2; //>平台支持的最大协议版本号


///////////////////////////// STRUCTS /////////////////////////////////////////////////
	/**
	 *
 	 * 检查合作伙伴密码信息请求类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoCheckCooperatorPassWdReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t cooperatorId;
		std::string cooperatorPassword;
		std::string inReserve;
		std::string errmsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_CHECKCOOPERATORPASSWD_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & cooperatorPassword;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 检查合作伙伴密码信息返回类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoCheckCooperatorPassWdResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_CHECKCOOPERATORPASSWD_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoDeleteCooperatorMonitorModelReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint32_t cooperatorId;
		uint32_t modelId;
		std::string inReserve;
		std::string errmsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_DELETECOOPERATORMONITORMODEL_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & modelId;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoDeleteCooperatorMonitorModelResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_DELETECOOPERATORMONITORMODEL_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 获取合作伙伴基本信息请求类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoGetCooperatorBaseInfoReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t cooperatorId;
		std::string inReserve;
		std::string errmsg;
		b2b2c::cooperator::po::CCooperatorBaseInfoPo cooperatorBaseInfoPo;	
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_GETCOOPERATORBASEINFO_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 获取合作伙伴基本信息返回类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoGetCooperatorBaseInfoResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		b2b2c::cooperator::po::CCooperatorBaseInfoPo cooperatorBaseInfoPo;	
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_GETCOOPERATORBASEINFO_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			cooperatorBaseInfoPo.Serialize(bs);
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 批量获取合作伙伴基本信息请求类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoGetCooperatorBaseInfoListReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		std::set<uint64_t > cooperatorId;
		std::string inReserve;
		std::string errmsg;
		std::vector<b2b2c::cooperator::po::CCooperatorBaseInfoPo > cooperatorBaseInfoPo;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_GETCOOPERATORBASEINFOLIST_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 批量获取合作伙伴基本信息返回类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoGetCooperatorBaseInfoListResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::vector<b2b2c::cooperator::po::CCooperatorBaseInfoPo > cooperatorBaseInfoPo;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_GETCOOPERATORBASEINFOLIST_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & cooperatorBaseInfoPo;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 根据ERP商户id查询合作伙伴ID请求类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoGetCooperatorIdByIcsonIdReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t icsonId;
		std::string inReserve;
		std::string errmsg;
		uint64_t cooperatorId;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_GETCOOPERATORIDBYICSONID_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & icsonId;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 根据ERP商户id查询合作伙伴ID返回类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoGetCooperatorIdByIcsonIdResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		uint64_t cooperatorId;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_GETCOOPERATORIDBYICSONID_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & cooperatorId;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 获取合作伙伴数据加密Key请求类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoGetCooperatorKeyReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t cooperatorId;
		std::string inReserve;
		std::string errmsg;
		std::string sCooperatorKey;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_GETCOOPERATORKEY_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 获取合作伙伴数据加密Key返回类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoGetCooperatorKeyResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string sCooperatorKey;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_GETCOOPERATORKEY_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & sCooperatorKey;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 获取合作伙伴许可证信息请求类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoGetCooperatorLicenseReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t cooperatorId;
		std::set<uint8_t > licenseType;
		std::string inReserve;
		std::string errmsg;
		std::vector<b2b2c::cooperator::po::CCooperatorLicensePo > cooperatorLicensePo;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_GETCOOPERATORLICENSE_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & licenseType;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 获取合作伙伴许可证信息返回类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoGetCooperatorLicenseResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::vector<b2b2c::cooperator::po::CCooperatorLicensePo > cooperatorLicensePo;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_GETCOOPERATORLICENSE_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & cooperatorLicensePo;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoGetCooperatorMonitorModelReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint32_t cooperatorId;
		uint32_t modelId;
		std::string inReserve;
		std::string errmsg;
		b2b2c::cooperator::po::CCooperatorMonitorModelPo CooperatorMonitorModelPo;	
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_GETCOOPERATORMONITORMODEL_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & modelId;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoGetCooperatorMonitorModelResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		b2b2c::cooperator::po::CCooperatorMonitorModelPo CooperatorMonitorModelPo;	
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_GETCOOPERATORMONITORMODEL_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			CooperatorMonitorModelPo.Serialize(bs);
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoGetCooperatorMonitorModelListReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint32_t cooperatorId;
		std::string inReserve;
		std::string errmsg;
		std::vector<b2b2c::cooperator::po::CCooperatorMonitorModelPo > CooperatorMonitorModelPo;
		std::string rulesruleJson;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_GETCOOPERATORMONITORMODELLIST_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoGetCooperatorMonitorModelListResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::vector<b2b2c::cooperator::po::CCooperatorMonitorModelPo > CooperatorMonitorModelPo;
		std::string rulesruleJson;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_GETCOOPERATORMONITORMODELLIST_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & CooperatorMonitorModelPo;
			bs & rulesruleJson;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 支付物流系统设置卖家的次日达，货到付款等属性位请求类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoLogisticsSetCooperatorProReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t option;
		b2b2c::cooperator::po::CCooperatorProPo cooperatorProPo;	
		std::string inReserve;
		std::string errmsg;
		b2b2c::cooperator::po::CCooperatorBaseInfoPo cooperatorBaseInfoPo;	
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_LOGISTICSSETCOOPERATORPRO_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & option;
			cooperatorProPo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 支付物流系统设置卖家的次日达，货到付款等属性位返回类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoLogisticsSetCooperatorProResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		b2b2c::cooperator::po::CCooperatorBaseInfoPo cooperatorBaseInfoPo;	
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_LOGISTICSSETCOOPERATORPRO_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			cooperatorBaseInfoPo.Serialize(bs);
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 从管理后台等其他业务同步过来的设置合作伙伴属性位等信息请求类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoSetCooperatorInfoReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t option;
		b2b2c::cooperator::po::CCooperatorSetPo cooperatorSetPo;	
		std::string inReserve;
		std::string errmsg;
		b2b2c::cooperator::po::CCooperatorBaseInfoPo cooperatorBaseInfoPo;	
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_SETCOOPERATORINFO_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & option;
			cooperatorSetPo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 从管理后台等其他业务同步过来的设置合作伙伴属性位等信息返回类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoSetCooperatorInfoResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		b2b2c::cooperator::po::CCooperatorBaseInfoPo cooperatorBaseInfoPo;	
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_SETCOOPERATORINFO_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			cooperatorBaseInfoPo.Serialize(bs);
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 设置合作伙伴密码信息请求类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoSetCooperatorPassWdReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		uint64_t cooperatorId;
		std::string cooperatorOldPassword;
		std::string cooperatorNewPassword;
		std::string inReserve;
		std::string errmsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_SETCOOPERATORPASSWD_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			bs & cooperatorId;
			bs & cooperatorOldPassword;
			bs & cooperatorNewPassword;
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 设置合作伙伴密码信息返回类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoSetCooperatorPassWdResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_SETCOOPERATORPASSWD_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 更新【新增和修改】合作伙伴基本信息请求类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoUpdateCooperatorBaseInfoReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		b2b2c::cooperator::po::CCooperatorBaseInfoPo cooperatorBaseInfoPo;	
		std::string inReserve;
		std::string errmsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_UPDATECOOPERATORBASEINFO_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			cooperatorBaseInfoPo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 更新【新增和修改】合作伙伴基本信息返回类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoUpdateCooperatorBaseInfoResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_UPDATECOOPERATORBASEINFO_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 更新【新增和修改】合作伙伴许可证信息请求类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoUpdateCooperatorLicenseReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		b2b2c::cooperator::po::CCooperatorLicensePo cooperatorLicensePo;	
		std::string inReserve;
		std::string errmsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_UPDATECOOPERATORLICENSE_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			cooperatorLicensePo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 更新【新增和修改】合作伙伴许可证信息返回类
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoUpdateCooperatorLicenseResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_UPDATECOOPERATORLICENSE_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoUpdateCooperatorMonitorModelReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		b2b2c::cooperator::po::CCooperatorMonitorModelPo CooperatorMonitorModelPo;	
		std::string inReserve;
		std::string errmsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return COOPERATORAO_UPDATECOOPERATORMONITORMODEL_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > COOPERATORAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			CooperatorMonitorModelPo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-08-01 20:34:10
 	 * @version 0
	 */	
	struct CCooperatorAoUpdateCooperatorMonitorModelResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::string errmsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return COOPERATORAO_UPDATECOOPERATORMONITORMODEL_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & errmsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	

}
}
}

#endif /* COOPERATORAO_STRUCT_H */

